<script>
        
// 动物类    属性：长相look   方法：进食eat:fn 

//两栖类    属性：肤色color    方法：入水waterInto  上岸waterOut
     
//哺乳类    属性:肤色color  几只腿 leg     方法: 爬creep:fn

//鸟类      属性:羽毛颜色color  翅展wingspan   方法:飞fly:fn

//虎类    属性：品种type  速度speed  方法:捕猎 hunt:fn

//鹰类   属性:品种 type   飞行速度speed   视力vision  方法:捕猎 hunt:fn

//  继承关系：
//  两栖类---动物类--Object-null
//  虎类---哺乳类---动物类--Object-null
//  鹰类-鸟类---动物类--Object-null


// 动物类 一级  ,底下的三个类别都有color属性，则可以将color属性添加在父类上
class Animals{
    constructor(look,color){
        this.look = look
        this.color = color
    }
    eat(){
       return '正在进食' 
    }
}


// 两栖类 二级
class Amphibious extends Animals{
    constructor(look,color){
        super (look,color)
    }
    waterInto(){
       return '正在入水' 
    }
    waterOut(){
       return '正在上岸' 
    }
}
// 实例一个两栖类
let amphibious1 = new Amphibious('两栖','白色');
console.log(amphibious1);


// 哺乳类 二级
class Suckler extends Animals{
    constructor(leg,look,color){
        // 继承动物类的属性
        super(look,color)
        // 哺乳类自己的属性
        this.leg = leg
    }
    creep(){
       return '正在爬行' 
    }
}
// 实例一个哺乳类
let suckler1 = new Suckler(4,'哺乳','黄色');
console.log(suckler1 );


// 鸟类 二级
class Birds extends Animals{
    constructor(wingspan,look,color){
        super(look,color)
        this.wingspan = wingspan
    }
    fly(){
       return '正在飞行' 
    }
}
// 实例一个鸟类
let bird1 = new Birds('翅膀','鸟类','花色');
console.log(bird1 );



// 虎类 三级
class Tiger extends Suckler{
    constructor(type,speed,leg,look,color){
        super(leg,look,color)
        this.type = type,
        this.speed = speed
    }
    hunt(){
       return '正在打猎'
    }
}
// 实例一个虎
let tiger1 = new Tiger('非洲虎','10m/s',4,'哺乳类','黄黑相间')
console.log(tiger1);

// 鹰类 
class Eagle extends Birds{
    constructor(type,speed,vision,wingspan,look,color){
        super(wingspan,look,color)
        this.type = type,
        this.speed = speed,
        this.vision = vision
    }
    hunt(){
       return '正在打猎'
    }
}
// 实例一个鹰
let eagle1 = new Eagle('老鹰','10m/s','夜间视力好','两个翅膀','鸟类','黑色')
console.log(eagle1);



</script>